package com.smartleanx.module.hrm.dal.mysql.companysystemdept;

import java.util.*;


import com.smartleanx.framework.mybatis.core.mapper.BaseMapperX;
import com.smartleanx.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.smartleanx.module.hrm.dal.dataobject.companysystem.CompanySystemDeptDO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 学习范围（公司制度和组织架构关联表） Mapper
 *
 * @author 精益大师
 */
@Mapper
public interface CompanySystemDeptMapper extends BaseMapperX<CompanySystemDeptDO> {

    default List<CompanySystemDeptDO> getSystemDeptList(Long id) {
        return selectList(new LambdaQueryWrapperX<CompanySystemDeptDO>()
                .eq(CompanySystemDeptDO::getCompanySystemId, id));
    }

    default int deleteByCompanySystemId(Long id) {
        return delete(new LambdaQueryWrapperX<CompanySystemDeptDO>()
                .eq(CompanySystemDeptDO::getCompanySystemId, id));
    }

    default List<CompanySystemDeptDO> getListByCompanySystemId (Collection<Long> ids){
        return selectList(new LambdaQueryWrapperX<CompanySystemDeptDO>()
                .inIfPresent(CompanySystemDeptDO::getCompanySystemId,ids));
    }

    default List<CompanySystemDeptDO> getListByDeptId (Collection<Long> ids){
        return selectList(new LambdaQueryWrapperX<CompanySystemDeptDO>()
                .inIfPresent(CompanySystemDeptDO::getDeptId,ids));
    }
}
